﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

using Demo.Infrastructure;
using Demo.ServiceContracts;

namespace Demo.Services
{
    // 注意: 使用“重构”菜单上的“重命名”命令，可以同时更改代码、svc 和配置文件中的类名“ActionService”。
    // 注意: 为了启动 WCF 测试客户端以测试此服务，请在解决方案资源管理器中选择 ActionService.svc 或 ActionService.svc.cs，然后开始调试。
    public class ActionService : IActionService
    {
        private readonly IActionService ActionServiceimpl = ServiceLocator.Instance.GetService<IActionService>();

        public void CreateAction(string name, int moduleId, int sort = 0)
        {
            ActionServiceimpl.CreateAction(name, moduleId, sort);
        }

        public DataObjects.ActionDTO GetActionDTOWithName(string name)
        {
            return ActionServiceimpl.GetActionDTOWithName(name);
        }

        public DataObjects.ActionDTO GetModuleDTOWithId(int id)
        {
            return ActionServiceimpl.GetModuleDTOWithId(id);
        }

        public IList<DataObjects.ActionDTO> GetActionDTOWithUserId(int userid)
        {
            return ActionServiceimpl.GetActionDTOWithUserId(userid);
        }


        public IList<DataObjects.ActionDTO> GetActionDTO()
        {
            return ActionServiceimpl.GetActionDTO();
        }

        public bool ChangeActionWithName(string oldName, string newName)
        {
            return ActionServiceimpl.ChangeActionWithName(oldName, newName);
        }

        //public bool ChangeActionWithName(string Name, int newModuleId)
        //{
        //    return ActionServiceimpl.ChangeActionWithName(Name, newModuleId);
        //}
    }
}
